From 46cfc1ce926bb256514aca1eafa4cf764fb8910a Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 14 Jul 2012 13:03:30 +0300 Subject: [PATCH] Adapt the MS-DOS build to the latest configury changes. msdos/sed1v2.inp: In the recipe for $(leimdir)/leim-list.el, edit the prerequisites to be "temacs$(EXEEXT) $(BOOTSTRAPEMACS)", to avoid the need to rebuild $(bootstrap_exe), which requires a Unixy shell via lisp/Makefile.in's "update-subdirs" command. msdos/sedlibmk.inp (am_libgnu_a_OBJECTS): Adjust the removal of careadlinkat.$(OBJEXT) to the changes in lib/Makefile.in. msdos/sed2v2.inp (DATA_START, GC_SETJMP_WORKS, HAVE_MENUS) (HAVE_MOUSE): Edit for DJGPP, according to what was previously done on src/s/msdos.h. msdos/gmalloc.c (GMALLOC_INHIBIT_VALLOC): Don't reference. src/s/msdos.h (BSD_SYSTEM, DATA_START, GC_SETJMP_WORKS, HAVE_MOUSE) (HAVE_MENUS): Don't define, defined by editing config.in with msdos/sed2v2.inp. (GMALLOC_INHIBIT_VALLOC): Don't define. (MODE_LINE_BINARY_TEXT): Remove, not used anymore. --- msdos/ChangeLog | 14 ++++++++++++++ msdos/sed1v2.inp | 2 ++ msdos/sed2v2.inp | 4 ++++ msdos/sedlibmk.inp | 4 +++- src/ChangeLog | 10 ++++++++++ src/gmalloc.c | 7 ------- src/s/msdos.h | 31 +++++++------------------------ 7 files changed, 40 insertions(+), 32 deletions(-) diff --git a/msdos/ChangeLog b/msdos/ChangeLog index 45591cf22fa..51bea6a464d 100644 --- a/msdos/ChangeLog +++ b/msdos/ChangeLog @@ -1,3 +1,17 @@ +2012-07-14 Eli Zaretskii + + * sed1v2.inp: In the recipe for $(leimdir)/leim-list.el, edit the + prerequisites to be "temacs$(EXEEXT) $(BOOTSTRAPEMACS)", to avoid + the need to rebuild $(bootstrap_exe), which requires a Unixy shell + via lisp/Makefile.in's "update-subdirs" command. + + * sedlibmk.inp (am_libgnu_a_OBJECTS): Adjust the removal of + careadlinkat.$(OBJEXT) to the changes in lib/Makefile.in. + + * sed2v2.inp (DATA_START, GC_SETJMP_WORKS, HAVE_MENUS) + (HAVE_MOUSE): Edit for DJGPP, according to what was previously + done on src/s/msdos.h. + 2012-06-30 Eli Zaretskii * mainmake.v2 (bootstrap-clean): Do a maintainer-clean in lib, not diff --git a/msdos/sed1v2.inp b/msdos/sed1v2.inp index b2ce4b327dc..7a43697a06a 100644 --- a/msdos/sed1v2.inp +++ b/msdos/sed1v2.inp @@ -136,11 +136,13 @@ s/\.h\.in/.h-in/ /^.\$(libsrc)\/make-doc/s!>.*$!! /^ [ ]*\$(libsrc)\/make-docfile /s!`[^`]*`!$(lisp); cd ../src! /^[ ]*$/d +/^\$(leimdir)\/leim-list.el: /s/bootstrap-emacs\$(EXEEXT)/temacs$(EXEEXT) $(BOOTSTRAPEMACS)/ /^ if test -f/,/^ fi$/c\ command.com /c if exist .gdbinit rm -f _gdbinit /^ *test "X\$(PAXCTL)" = X/d /^ *test "\$(CANNOT_DUMP)" = "yes"/d /^ if test "\$(CANNOT_DUMP)" =/,/^ else /d +/^ -\{0,1\} *ln -/s/bootstrap-emacs\$(EXEEXT).*$/bootstrap-emacs$(EXEEXT)/ /^ fi/d /^ *LC_ALL=C \$(RUN_TEMACS)/i\ stubedit temacs.exe minstack=1024k diff --git a/msdos/sed2v2.inp b/msdos/sed2v2.inp index 853c64fb178..759418f0f15 100644 --- a/msdos/sed2v2.inp +++ b/msdos/sed2v2.inp @@ -54,6 +54,10 @@ /^#undef HAVE_STRUCT_TM_TM_ZONE *$/s/^.*$/#define HAVE_STRUCT_TM_TM_ZONE 1/ /^#undef HAVE_SYNC *$/s/^.*$/#define HAVE_SYNC 1/ /^#undef HAVE___BUILTIN_UNWIND_INIT *$/s/^.*$/#define HAVE___BUILTIN_UNWIND_INIT 1/ +/^#undef HAVE_MENUS *$/s/^.*$/#define HAVE_MENUS 1/ +/^#undef HAVE_MOUSE *$/s/^.*$/#define HAVE_MOUSE 1/ +/^#undef DATA_START/s/^.*$/#define DATA_START (\&etext + 1)/ +/^#undef GC_SETJMP_WORKS/s/^.*$/#define GC_SETJMP_WORKS 1/ /^#undef ORDINARY_LINK/s/^.*$/#define ORDINARY_LINK 1/ /^#undef PACKAGE_BUGREPORT/s/^.*$/#define PACKAGE_BUGREPORT ""/ /^#undef PACKAGE_NAME/s/^.*$/#define PACKAGE_NAME ""/ diff --git a/msdos/sedlibmk.inp b/msdos/sedlibmk.inp index 40b94acf107..432749af92a 100644 --- a/msdos/sedlibmk.inp +++ b/msdos/sedlibmk.inp @@ -605,7 +605,9 @@ am__cd = cd s| *sys/select\.h|| s| *sys/time\.h|| } -/^am_libgnu_a_OBJECTS *=/s/careadlinkat\.\$(OBJEXT)// +/^am_libgnu_a_OBJECTS *=/,/^[ ]/{ + s/careadlinkat\.\$(OBJEXT) // +} /^am_libgnu_a_OBJECTS *=/s/allocator\.\$(OBJEXT)// /^srcdir *=/s/@[^@\n]*@/./ /^top_srcdir *=/s/@[^@\n]*@/../ diff --git a/src/ChangeLog b/src/ChangeLog index 8b2e00e4afd..3c9bfbeb452 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,13 @@ +2012-07-14 Eli Zaretskii + + * gmalloc.c (GMALLOC_INHIBIT_VALLOC): Don't reference. + + * s/msdos.h (BSD_SYSTEM, DATA_START, GC_SETJMP_WORKS, HAVE_MOUSE) + (HAVE_MENUS): Don't define, defined by editing config.in with + msdos/sed2v2.inp. + (GMALLOC_INHIBIT_VALLOC): Don't define. + (MODE_LINE_BINARY_TEXT): Remove, not used anymore. + 2012-07-14 Juanma Barranquero * s/ms-w32.h (GC_SETJMP_WORKS, GC_MARK_STACK): Set in nt/config.nt. diff --git a/src/gmalloc.c b/src/gmalloc.c index 3739214bc46..78d6934755b 100644 --- a/src/gmalloc.c +++ b/src/gmalloc.c @@ -1687,11 +1687,6 @@ Fifth Floor, Boston, MA 02110-1301, USA. The author may be reached (Email) at the address mike@ai.mit.edu, or (US mail) as Mike Haertel c/o Free Software Foundation. */ -/* Emacs defines GMALLOC_INHIBIT_VALLOC to avoid this definition - on MSDOS, where it conflicts with a system header file. */ - -#ifndef GMALLOC_INHIBIT_VALLOC - /* Allocate SIZE bytes on a page boundary. */ extern void *valloc (size_t); @@ -1712,8 +1707,6 @@ valloc (size_t size) return memalign (pagesize, size); } -#endif /* Not ELIDE_VALLOC. */ - #ifdef GC_MCHECK /* Standard debugging hooks for `malloc'. diff --git a/src/s/msdos.h b/src/s/msdos.h index fc1a8c7506a..e1d97d5cc85 100644 --- a/src/s/msdos.h +++ b/src/s/msdos.h @@ -31,7 +31,6 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */ #endif #define DOS_NT /* MSDOS or WINDOWSNT */ -#undef BSD_SYSTEM /* subprocesses should be defined if you want to have code for asynchronous subprocesses (as used in M-x compile and M-x shell). @@ -44,10 +43,6 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */ different things on your system and must be used only through an encapsulation (which you should place, by convention, in sysdep.c). */ -/* Avoid incompatibilities between gmalloc.c and system header files - in how to declare valloc. */ -#define GMALLOC_INHIBIT_VALLOC - /* This overrides the default value on editfns.c, since DJGPP does not have pw->pw_gecos. */ #define USER_FULL_NAME (getenv ("NAME")) @@ -57,15 +52,16 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */ #define _setjmp setjmp #define _longjmp longjmp -#define DATA_START (&etext + 1) - #define _NAIVE_DOS_REGS -/* command.com does not understand `...` so we define this. */ +/* Used by emacs.c:decode_env_path. */ #define SEPCHAR ';' +/* Used by callproc.c (and process.c, but in the part not compiled on + MSDOS). The default is defined on process.h. */ #define NULL_DEVICE "nul" +/* Used by floatfns.c. */ #define HAVE_INVERSE_HYPERBOLIC #define FLOAT_CHECK_DOMAIN @@ -94,23 +90,14 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */ likes that. */ #define FILE_SYSTEM_CASE Fmsdos_downcase_filename -/* Define this to be the separator between devices and paths. */ +/* Define this to be the separator between devices and paths. Used by + lisp.h to define IS_DEVICE_SEP. */ #define DEVICE_SEP ':' -/* We'll support either convention on MSDOG. */ +/* We'll support either convention of slashes on MSDOS. */ #define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\') #define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_)) - -/* Mode line description of a buffer's type. */ -#define MODE_LINE_BINARY_TEXT(buf) (NILP(B_(buf,buffer_file_type)) ? "T" : "B") - -/* We have (the code to control) a mouse. */ -#define HAVE_MOUSE - -/* We can use mouse menus. */ -#define HAVE_MENUS - /* Define one of these for easier conditionals. */ #ifdef HAVE_X_WINDOWS /* We need a little extra space, see ../../lisp/loadup.el and the @@ -129,7 +116,3 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */ enlarging Emacs footprint by another 100+ KBytes. */ #define SYSTEM_PURESIZE_EXTRA (-170000+65000) #endif - -/* Tell the garbage collector that setjmp is known to save all - registers relevant for conservative garbage collection in the jmp_buf. */ -#define GC_SETJMP_WORKS 1 -- 2.30.2